﻿<p>The entity <em>IfcSurfaceStyleWithTextures</em> allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface.</p>

<p>The entity <em>IfcSurfaceStyleWithTextures</em> is part of the surface style table for presentation information assigned to surfaces for shading, rendering and lighting with textures. The mapping of the texture onto the surface or the solid is determined by the texture coordinates, in absense of an <em>IfcTextureCoordinate</em> assigned to each surface texture, a default mapping of the texture to the geometric face or surface applies.</p>

<p>Surface textures included in the <em>IfcSurfaceStyleWithTextures</em> are two dimensional map formats. They define 2D images that contain an array of colour values describing the texture. Depending on the number of <em>IfcSurfaceTextures</em> being included in the list of <em>Textures</em> the <em>IfcSurfaceStyleWithTextures</em> either describes a single texture, or a multi texture.</p>
<ul>
<li>single texture: a single surface texture is applied to the styled geometric item (entirely or partly) with optional repetition and texture transformation</li>
<li>multi texture: two or more surface textures are applied to the styled geometric item (entirely or partly) with optional repetition, texture transformation or texture coordinate mapping being specific for each texture.</li>
</ul>
<p class="spec-head">Informal Propositions:</p>
<ol>
<li>Only one instance of <em>IfcSurfaceStyleWithTextures</em> shall be referenced by an <em>IfcStyledItem</em> and be assigned to an <em>IfcGeometricRepresentationItem</em></li>
</ol>

<blockquote class="note">
NOTE&nbsp; The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
</blockquote>

<blockquote class="history">
HISTORY&nbsp; New entity in IFC2x2.
</blockquote>

<blockquote class="change-ifc2x3">
IFC2x3 CHANGE&nbsp; inverse attribute <em>HasTextureCoordinates</em> deleted.
</blockquote>